package cn.tedu.csmall.product.schedule;

import cn.tedu.csmall.product.service.IBrandService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Scheduled;

@Slf4j
@Configuration
public class CacheSchedule {
    @Autowired
    IBrandService brandService;

    public CacheSchedule() {
        log.debug("创建计划任务对象:CacheSchedule");
    }
    //fixedRate:执行频率,将按照上一次开始执行的时间来计算下一次的执行时间,以毫秒值为单位,
    //fixedDelay:执行间隔时间,将按照上一次结束过后多久执行下一次,以毫秒值为单位
    //cron:使用1个字符串,其中包括6-7个值,各值之间使用1个空格分隔
    //>>在cron的字符串中各值依次表示 秒 分 时 日 月 周(星期) [年]
    //@Scheduled(cron = "56 34 12 15 11 x x")
    @Scheduled(fixedRate = 1*60*1000)
    public void aaa(){
        log.debug("开始执行[重建品牌缓存]计划任务.........");
        brandService.rebuildCache();
        log.debug("本次计划任务执行完成");
    }
}
